#ifndef __TBF_H
#define __TBF_H

#define MAXTBF	1024

/*
 令牌桶初始化
 	创建一个令牌桶，将地址赋值到令牌桶库的指针数组中，返回所在下标值，作为桶的标志
cps:速率
burst:上限
返回所在数组的下标
 */
int tbf_init(int cps, int burst);

/*
 取令牌
td:桶的标志
ntoken:取令牌的个数
返回渠道令牌的个数
 */
int tbf_fetch_token(int td, int ntoken);

/*
 将未消耗的令牌归还
td:归还到的令牌的描述符
ntoken:归还的个数
返回值：成功与否状态
 */
int tbf_return_token(int td, int ntoken);

/*
 销毁td令牌
 */
void tbf_destroy(int td);

// 整个令牌桶全部销毁
void tbf_destroy_all(void);

#endif

